/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.garcomeletronico.controlador.implementacao;

import br.com.garcomeletronico.bean.Cardapio;
import br.com.garcomeletronico.bean.Prato;
import br.com.garcomeletronico.controlador.IControladorPrato;
import br.com.garcomeletronico.dao.IDAOPrato;
import br.com.garcomeletronico.dao.implementacao.DAOPrato;
import java.sql.SQLException;
import java.util.List;

/**
 *
 * @author Rivi
 */
public class ControladorPrato implements IControladorPrato {

    private IDAOPrato repositorio;

    public ControladorPrato() {
        if (repositorio == null) {
            repositorio = new DAOPrato();
        }
    }

    @Override
    public void inserir(Prato p) throws SQLException {
        this.repositorio.inserir(p);
    }

    @Override
    public void alterar(Prato p) throws SQLException {
        this.repositorio.alterar(p);
    }

    @Override
    public void excluir(Prato p) throws SQLException {
        this.repositorio.excluir(p);
    }

    @Override
    public List<Prato> listarPorNome(Prato p) throws SQLException {
        return validarLista(this.repositorio.listarPorNome(p));
    }

    @Override
    public List<Prato> listarTodos() throws SQLException {
        return validarLista(this.repositorio.listarTodos());
    }

    private List<Prato> validarLista(List<Prato> prato) throws SQLException {
        if (prato == null) {
            throw new SQLException("Nenhum prato encontrado!");
        }

        return prato;
    }
    @Override
    public List<Prato> listarPratosPorCardapio(Cardapio cardapio) throws SQLException {
       return this.repositorio.listarPratosPorCardapio(cardapio);
    }
}
